<?php
include_once APP_PATH . "Controllers" . DIRECTORY_SEPARATOR . "Controller.php";

class View {
	/**
	 * Istanza della classe che gestisce il controller dei dati
	 * @var Controller
	 */
	public $controller;
	/**
	 * Array associativo che contiene le coppie chiave valore delle variabili 
	 * da assegnare alla pagina da mostrare, le stringhe saranno contenute nel file di configurazioni
	 * e saranno ottenute dalla chiave var
	 * $vars[0]["var"]="nome_utente";
	 * $vars[1]["var"]="cognome_utente";
	 * ecc.. ecc..
	 * 
	 * nome_utente e cognome utente sono contenuti nella tabella del dizionario , file di configurazione oppure ottenuti dal database
	 * in questo caso sarà compito del controller ottenere in valore attraverso la funzione GetVal
	 * 
	 * @var ArrayObject
	 */
	public $vars;
	/**
	 * Inizializza il controller per la gestione e preparazione dei dati
	 */
	function __construct() {
		$this->controller = new Controller ();
	}
	/**
	 * Mostra la pagina proveniente dalla richiesta
	 */
	public function displayPage() {
		//TODO: importare le traduzioni
		try {
			//TODO: compilare le variabili provenienti dalla richiesta
			$this->controller->display ( $this->controller->request ["page"] );
		} catch ( Exception $ex ) {
			View::trace ( $ex->getMessage () );
		}
	}
	/**
	 * Mostra il contenuto della variabile $errorMessage , ma solo quando è in debug mode
	 * @param mixed $errorMessage
	 */
	public static function trace($errorMessage) {
		if (DEBUG_MODE) {
			print_r ( $errorMessage );
		}
	}
}

?>